From: Giovanni Campagna Date: Tue, 7 Aug 2012 15:52:24 +0000 (+0200) Subject: Allow testing GDM login dialog from the session X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~5564 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=e249218a9db7f89240b4011e148f858a5c5c3072;p=gnome-shell.git Allow testing GDM login dialog from the session Check an environment variable, GDM_GREETER_TEST. If 1, LoginDialog will skip anything that fails outside a GDM session. It is therefore possible to test the GDM greeter without installing it system-wide, by attempting login as the already logged in user (uses the same code path as the unlock dialog). https://bugzilla.gnome.org/show_bug.cgi?id=683725 --- diff --git a/js/gdm/loginDialog.js b/js/gdm/loginDialog.js index 7ea93ba6d..15308ddfc 100644 --- a/js/gdm/loginDialog.js +++ b/js/gdm/loginDialog.js @@ -638,15 +638,17 @@ const LoginDialog = new Lang.Class({ this._userManager = AccountsService.UserManager.get_default() this._greeterClient = new Gdm.Client(); - this._greeter = this._greeterClient.get_greeter_sync(null); + if (GLib.getenv('GDM_GREETER_TEST') != '1') { + this._greeter = this._greeterClient.get_greeter_sync(null); - this._greeter.connect('default-session-name-changed', - Lang.bind(this, this._onDefaultSessionChanged)); + this._greeter.connect('default-session-name-changed', + Lang.bind(this, this._onDefaultSessionChanged)); - this._greeter.connect('session-opened', - Lang.bind(this, this._onSessionOpened)); - this._greeter.connect('timed-login-requested', - Lang.bind(this, this._onTimedLoginRequested)); + this._greeter.connect('session-opened', + Lang.bind(this, this._onSessionOpened)); + this._greeter.connect('timed-login-requested', + Lang.bind(this, this._onTimedLoginRequested)); + } this._userVerifier = new GdmUtil.ShellUserVerifier(this._greeterClient); this._userVerifier.connect('ask-question', Lang.bind(this, this._askQuestion));